//! 节点奖励统计用的贡献信息
//!
//!

#[derive(Debug, Clone, Default, Copy, Eq, PartialEq)]
pub struct Contribution {
    shard_id: i32,
    creator_id: i64,
    other_id: i64,
    other_seq: i64,
}

impl Contribution {
    pub fn new(shard_id: i32, creator_id: i64, other_id: i64, other_seq: i64) -> Self {
        Self {
            shard_id,
            creator_id,
            other_id,
            other_seq,
        }
    }

    pub fn shard_id(&self) -> i32 {
        self.shard_id
    }

    pub fn creator_id(&self) -> i64 {
        self.creator_id
    }

    pub fn other_id(&self) -> i64 {
        self.other_id
    }

    pub fn other_seq(&self) -> i64 {
        self.other_seq
    }

    pub fn set_shard_id(&mut self, shard_id: i32) {
        self.shard_id = shard_id;
    }

    pub fn set_creator_id(&mut self, creator_id: i64) {
        self.creator_id = creator_id;
    }

    pub fn set_other_id(&mut self, other_id: i64) {
        self.other_id = other_id;
    }

    pub fn set_other_seq(&mut self, other_seq: i64) {
        self.other_seq = other_seq;
    }
}
